Sometimes gnome-session hands us a bad object path for JIT inhibitors
it creates for XSMP clients. While this is a bug in gnome-session, we
shouldn't show an empty-looking dialog here.
https://bugzilla.gnome.org/show_bug.cgi?id=706612
};
function findAppFromInhibitor(inhibitor) {
- let [desktopFile] = inhibitor.GetAppIdSync();
+ let desktopFile;
+ try {
+ [desktopFile] = inhibitor.GetAppIdSync();
+ } catch(e) {
+ // XXX -- sometimes JIT inhibitors generated by gnome-session
+ // get removed too soon. Don't fail in this case.
+ log('gnome-session gave us a dead inhibitor: %s'.format(inhibitor.get_object_path());
+ return null;
+ }
if (!GLib.str_has_suffix(desktopFile, '.desktop'))
desktopFile += '.desktop';